Michaël Périn – Exercice sur la minimisation : cas pièges

Q1 : minimisez l'automate A1 qui ne possède aucun état accepteur

A1 .pdf, .html

Minimisation:

  • initial partition = { {1,2,3} }
  • no more splitting:
    • 3 -c-> {1} <-c- 2
    • 3-b->1 ~ 2-b->2 since 1 , 2 in {1,2,3}
    • 3-a->1 ~ 2-a->3 since 1 , 3 in {1,2,3}
    • 3 -c-> {1} <-c- 1
    • 3 -b-> {1} <-b- 1
    • 3-a->1 ~ 1-a->2 since 1 , 2 in {1,2,3}
    • 2 -c-> {1} <-c- 3
    • 2-b->2 ~ 3-b->1 since 2 , 1 in {1,2,3}
    • 2-a->3 ~ 3-a->1 since 3 , 1 in {1,2,3}
    • 2 -c-> {1} <-c- 1
    • 2-b->2 ~ 1-b->1 since 2 , 1 in {1,2,3}
    • 2-a->3 ~ 1-a->2 since 3 , 2 in {1,2,3}
    • 1 -c-> {1} <-c- 3
    • 1 -b-> {1} <-b- 3
    • 1-a->2 ~ 3-a->1 since 2 , 1 in {1,2,3}
    • 1 -c-> {1} <-c- 2
    • 1-b->1 ~ 2-b->2 since 1 , 2 in {1,2,3}
    • 1-a->2 ~ 2-a->3 since 2 , 3 in {1,2,3}
  • final partition = { {1,2,3} }
  • A1m .pdf, .html

Q2 : minimisez l'automate A2 identique à A1 mais avec tous les états accepteurs

A2 .pdf, .html

Minimisation:

  • initial partition = { {0,1,2,3} }

    states 0 / 1 : NOT same accepting status So, {0,1,2,3} is splitted into {0} || {1,2,3}

    states 1 / 3 : NOT same behavior on symbol 'a' So, {1,2,3} is splitted into {1,2} || {3}

    states 1 / 2 : NOT same behavior on symbol 'a' So, {1,2} is splitted into {1} || {2}

  • final partition = { {0} , {1} , {2} , {3} }
  • A2m .pdf, .html

Synthèse sur la minimisation

Avant d'appliquer l'algorithme de regroupement des états en classes d'équivalence

Il faut

  1. complétez l'automate
  2. déterminisez l'automate (ce qui fait au passage la complétion)

Remarque

On peut minimiser un automate non déterministe mais l'algorithme de raffinement des classes d'équivalences est plus subtil (voir minimisation d'automate non déterministe).

Created: 2014-10-06 Mon 12:37

Validate